/**
 * 给定一个格式为[s, e]的数组，表明从s到e有一条边
 * 且保证所有数组形成一条单链，问链的终点
 * 规模很小，用map即可
 */
class Solution {
public:
    string destCity(vector<vector<string>>& paths) {
        map<string, vector<string>> Map;
        for(const auto & v : paths){
            Map[v[0]].emplace_back(v[1]);
            auto it = Map.find(v[1]);
            if(it == Map.end()) Map.emplace_hint(it, v[1], vector<string>{});
        }
        string ans;
        for(const auto & p : Map){
            if(p.second.empty()){
                ans = p.first;
                break;
            }
        }        
        return ans;
    }
};